El procesamiento paralelo denota diversas técnicas que se utilizan para tareas simultáneas de procesamiento de datos, para así aumentar la velocidad del sistema. La idea es descomponer una tarea en una serie de operaciones que serán realizadas simultáneamente reduciendo el tiempo que tarda realizándose.El sistema de procesamiento paralelo ejecuta el procesamiento concurrentemente para conseguir así menores tiempos de ejecución, para esto puede contar con más recursos como dos o más ALU's, ó dos o más procesadores, acelerando sus posibilidades de procesamiento y aumentando su eficiencia con respecto a los ciclos necesarios para la ejecución. El procesamiento paralelo se establece al distribuir los datos entre las unidades funcionales múltiples, donde cada unidad es independiente.
La importancia del paralelismo reside en la mejoría en la velocidad del procesamiento de los datos, siendo de especial relevancia en campos como la meteorología, la medicina, aerodinámica, física entre otras, donde es necesario procesar grandes cantidades de información realizando muchísimos cálculos muy alta velocidad.Las mejoras en velocidad también se deben al uso de componentes más veloces en la creación de las computadoras, sin embargo la ganancia en velocidad no es aprovechada si los componentes pierden tiempo valioso esperando la entrada de datos, es por esto que se utiliza el paralelismo.
Según la estructura de interconexión entre los procesadores
Según el flujo de información a través del sistema
M.J Flynn presentó una clasificación llamada Taxonomía de Flynn que es todavía la forma más común de clasificar a los sistemas según sus capacidades de procesamiento paralelo, clasifica la organización de un sistema de computadora mediante la cantidad de instrucciones y unidades de datos que se manipulan en forma simultánea. Al operar las computadoras por la ejecución de instrucciones sobre datos, el flujo de instrucciones es el que le indica a la computadora que debe hacer en cada ciclo, por lo tanto el flujo de datos es modificado por las instrucciones. Dependiendo de si hay uno o varios flujos la clasificación de Flynn divide a las computadoras en cuatro clases.
SISD
Una secuencia de instrucciones y una secuencia de datos. Un único procesador interpreta una única secuencia de instrucciones para operar con los datos almacenados en una única memoria. Dentro de esta categoría caen los computadores monoprocesador.
SIMD
Una secuencia de instrucciones y múltiples secuencias de datos. Una única instrucción controla paso a paso la ejecución simultánea y sincronizada de un cierto número de elementos cada uno con memoria asociada, de forma que cada instrucción es ejecutada por cada procesador con un conjunto de datos diferente. Un ejemplo son los procesadores vectoriales y matriciales.
MISD
Múltiples secuencias de instrucciones y una secuencia de datos. Se transmite una secuencia de datos a un conjunto de procesadores, cada uno de los cuales ejecuta una secuencia de instrucciones diferente. Esta estructura nunca ha sido implementada.
MIMD
Múltiples secuencias de instrucciones y múltiples secuencias de datos. Un conjunto de procesadores ejecuta simultáneamente secuencias de instrucciones diferentes con conjuntos de datos diferentes. Los SMP, clusters y los sistemas NUMA son ejemplos de esta categoría. Los procesadores son de uso general, cada uno con la capacidad de procesar las instrucciones necesarias para realizar las transformaciones apropiadas de los datos.
Se pueden subdividir según la forma en que se comunican los procesadores.
Si comparten memoria común, como los multiprocesadores simétricos (SMP), en el que el tiempo de acceso a memoria principal es aproximadamente el mismo para cualquier procesador, o la organización de acceso no uniforme a memoria (NUMA), en los que el tiempo de acceso a zonas distintas en memoria puede diferir.
Un conjunto de monoprocesadores independientes o SMP pueden interconectarse para formar un cluster, con memoria distribuida, en el que la comunicación entre los computadores se realiza mediante conexiones fijas o una red.
Procesamiento Paralelo
Table of Contents
El procesamiento paralelo denota diversas técnicas que se utilizan para tareas simultáneas de procesamiento de datos, para así aumentar la velocidad del sistema. La idea es descomponer una tarea en una serie de operaciones que serán realizadas simultáneamente reduciendo el tiempo que tarda realizándose. El sistema de procesamiento paralelo ejecuta el procesamiento concurrentemente para conseguir así menores tiempos de ejecución, para esto puede contar con más recursos como dos o más ALU's, ó dos o más procesadores, acelerando sus posibilidades de procesamiento y aumentando su eficiencia con respecto a los ciclos necesarios para la ejecución.
El procesamiento paralelo se establece al distribuir los datos entre las unidades funcionales múltiples, donde cada unidad es independiente.
La importancia del paralelismo reside en la mejoría en la velocidad del procesamiento de los datos, siendo de especial relevancia en campos como la meteorología, la medicina, aerodinámica, física entre otras, donde es necesario procesar grandes cantidades de información realizando muchísimos cálculos muy alta velocidad. Las mejoras en velocidad también se deben al uso de componentes más veloces en la creación de las computadoras, sin embargo la ganancia en velocidad no es aprovechada si los componentes pierden tiempo valioso esperando la entrada de datos, es por esto que se utiliza el paralelismo.
Clasificación: Taxonomía de Flynn
El procesamiento paralelo puede clasificarse
M.J Flynn presentó una clasificación llamada Taxonomía de Flynn que es todavía la forma más común de clasificar a los sistemas según sus capacidades de procesamiento paralelo, clasifica la organización de un sistema de computadora mediante la cantidad de instrucciones y unidades de datos que se manipulan en forma simultánea.
Al operar las computadoras por la ejecución de instrucciones sobre datos, el flujo de instrucciones es el que le indica a la computadora que debe hacer en cada ciclo, por lo tanto el flujo de datos es modificado por las instrucciones.
Dependiendo de si hay uno o varios flujos la clasificación de Flynn divide a las computadoras en cuatro clases.
SISD
Una secuencia de instrucciones y una secuencia de datos. Un único procesador interpreta una única secuencia de instrucciones para operar con los datos almacenados en una única memoria. Dentro de esta categoría caen los computadores monoprocesador.
SIMD
Una secuencia de instrucciones y múltiples secuencias de datos. Una única instrucción controla paso a paso la ejecución simultánea y sincronizada de un cierto número de elementos cada uno con memoria asociada, de forma que cada instrucción es ejecutada por cada procesador con un conjunto de datos diferente. Un ejemplo son los procesadores vectoriales y matriciales.
MISD
Múltiples secuencias de instrucciones y una secuencia de datos. Se transmite una secuencia de datos a un conjunto de procesadores, cada uno de los cuales ejecuta una secuencia de instrucciones diferente. Esta estructura nunca ha sido implementada.
MIMD
Múltiples secuencias de instrucciones y múltiples secuencias de datos. Un conjunto de procesadores ejecuta simultáneamente secuencias de instrucciones diferentes con conjuntos de datos diferentes. Los SMP, clusters y los sistemas NUMA son ejemplos de esta categoría. Los procesadores son de uso general, cada uno con la capacidad de procesar las instrucciones necesarias para realizar las transformaciones apropiadas de los datos.
Se pueden subdividir según la forma en que se comunican los procesadores.